1. Field of the Invention
The field of the invention is digital controllers, and more particularly, programmable controllers in which a controller processor is coupled through I/O interface modules to a plurality of input/output control devices that control an industrial machine or process.
2. Description of the Prior Art
Programmable controllers are typically connected to industrial machines and assembly line conveyors to sequentially operate such equipment according to a stored control program. In programmable controllers such as that disclosed in U.S. Pat. No. 3,942,158, issued Mar. 2, 1976, and entitled "Programmable Logic Controller," the control program is stored in a random-access memory. Program instructions are executed by a controller processor to examine selected sensing devices on the controlled equipment, and to energize or deenergize selected operating devices on the controlled equipment, depending upon the status of the sensing devices and the logic contained in the control program instructions.
Programmable controllers, as described in the patent cited above, have usually included processors of smaller capacity than have digital controllers that employ general purpose digital computers. The larger, more complex and more expensive, computer-based controllers are often used where a number of analog output devices must be operated. Programmable controllers built with processors comprised of discrete components or built around a microprocessor are ordinarily used to monitor and control large numbers of digital I/O devices. The status of digital input devices can be determined by single bits of data, and the status of digital output devices can be controlled by single bits of data. The digital I/O devices are typically connected in groups of four, eight or sixteen to I/O interface modules which have special circuitry for interfacing the devices with the controller processor. The coupling of a multibit word of data senses or controls a group, if not all, of the I/O devices connected to a respective I/O module. The control of analog input/output devices, in contrast to digital devices, usually requires the coupling of at least eight bits of data, or a byte of data, between an I/O interface module and the controller processor. In some cases, the coupling of ten or twelve bits of data, plus an identification code of several more bits, is required. Therefore, the capacity of standard I/O modules for handling analog I/O devices has been limited.
In Grudowski et. al., U.S. Pat. No. 4,104,731, issued Aug. 1, 1978, a programmable controller is disclosed in which sixteen-bit data words are coupled asynchronously from a main memory to word-oriented I/O devices. The data words contain both output or command data and a four-bit identification code. The identification code is necessary to match the data in memory to circuits on the I/O module that drive the word-oriented output devices. In one embodiment, an analog output I/O module is connected to four analog devices and the operation code identifies which device should receive an analog signal synthesized from twelve bits of data. In another embodiment, a pulse output module couples position and rate data through different circuits to drive a stepper motor. Considerable hardware and program instructions are required to transfer a relatively moderate amount of word-oriented data in this programmable controller. The applications program of controller instructions for this module is part of the control program that is stored in the RAM memory of the controller.
With the continuing development of microelectronics and microcomputers, the potential of programmable controllers for controlling analog input/output devices has been expanded, due to the increased computing power available in a small package. As in some other control systems, however, a bottleneck persists at the interface between the controller processor and the operating device, viz., at the I/O interface. The application of programmable controllers to industrial control tasks can be greatly expanded if the density of I/O transfer between controller processors and I/O interfaces can be increased without adding to the cost of I/O interface circuitry.